package com.bangzhi.controller;

import com.bangzhi.bo.*;
import com.bangzhi.form.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

/**
 * @Description TODO
 * @Author haoshenqi
 * @Date 2022/1/18 11:43 上午
 * @Version 1.0
 **/
@RestController
@Slf4j
@Api("客户相关接口")
public class CustomerController {
    @ApiOperation("行政处罚")
    @PostMapping("mfCusAdministrativeSanction")
    public void receiveMfCusAdministrativeSanction( @RequestBody MfCusAdministrativeSanction mfCusAdministrativeSanction){

    }
    @ApiOperation("建筑资质")
    @PostMapping("mfCusBuildQualification ")
    public void receiveMfCusBuildQualification ( @RequestBody MfCusBuildQualification  mfCusBuildQualification ){

    }
    @ApiOperation("企业用户")
    @PostMapping("mfCusCorpBaseInfo ")
    public void receiveMfCusCorpBaseInfo ( @RequestBody MfCusCorpBaseInfo  mfCusCorpBaseInfo ){

    }

    @ApiOperation("新增对外融资信息")
    @PostMapping("mfCusCorpLoan ")
    public void receiveMfCusCorpLoan ( @RequestBody MfCusCorpLoan  mfCusCorpLoan ){

    }

    @ApiOperation("新增固定资产信息")
    @PostMapping("mfCusAssets")
    public void receiveMfCusAssets ( @RequestBody MfCusAssets  mfCusAssets ){

    }

    @ApiOperation("新增企业重大变更")
    @PostMapping("mfCusCorpMajorChange ")
    public void receiveMfCusCorpMajorChange ( @RequestBody MfCusCorpMajorChange  mfCusCorpMajorChange ){

    }
    @ApiOperation("法院信息")
    @PostMapping("mfCusCourtInfo")
    public void receiveMfCusCourtInfo( @RequestBody MfCusCourtInfo mfCusCourtInfo){

    }
    @ApiOperation("开庭公告")
    @PostMapping("mfCusCourtNotice")
    public void receiveMfCusCourtNotice( @RequestBody MfCusCourtNotice mfCusCourtNotice){

    }
    @ApiOperation("客户主表")
    @PostMapping("mfCusCustomer")
    public void receiveMfCusCustomer( @RequestBody MfCusCustomer mfCusCustomer){

    }
    @ApiOperation("新增失信公告")
    @PostMapping("mfCusDishonestInfo")
    public void receiveMfCusDishonestInfo( @RequestBody MfCusDishonestInfo mfCusDishonestInfo){

    }
    @ApiOperation("新增对外投资")
    @PostMapping("mfCusEquityInfo")
    public void receiveMfCusEquityInfo( @RequestBody MfCusEquityInfo mfCusEquityInfo){

    }

    @ApiOperation("新增合同订单")
    @PostMapping("mfCusContract")
    public void receiveMfCusContract( @RequestBody MfCusContract mfCusContract){

    }

    @ApiOperation("新增开票信息")
    @PostMapping("mfCusInvoiceMation")
    public void receiveMfCusInvoiceMation( @RequestBody MfCusInvoiceMation mfCusInvoiceMation){

    }

    @ApiOperation("执行公告")
    @PostMapping("mfCusExecNotice")
    public void receiveMfCusExecNotice( @RequestBody MfCusExecNotice mfCusExecNotice){

    }
    @ApiOperation("社会关系")
    @PostMapping("mfCusFamilyInfo")
    public void receiveMfCusFamilyInfo( @RequestBody MfCusFamilyInfo mfCusFamilyInfo){

    }
    @ApiOperation("集团")
    @PostMapping("mfCusGroup")
    public void receiveMfCusGroup( @RequestBody MfCusGroup mfCusGroup){

    }

    @ApiOperation("新增对外担保情况")
    @PostMapping("mfCusGuaranteeOuter")
    public void receiveMfCusGuaranteeOuter( @RequestBody MfCusGuaranteeOuter mfCusGuaranteeOuter){

    }

    //@TODO
    @ApiOperation("新增账户管理")
    @PostMapping("mfCusBankAccManage")
    public void receiveMfCusBankAccManage( @RequestBody MfCusBankAccManage mfCusBankAccManage){

    }

    @ApiOperation("高管信息")
    @PostMapping("mfCusHighInfo")
    public void receiveMfCusHighInfo( @RequestBody MfCusHighInfo mfCusHighInfo){

    }
    @ApiOperation("新增无形资产信息")
    @PostMapping("mfCusIntangibleAssets")
    public void receiveMfCusIntangibleAssets( @RequestBody MfCusIntangibleAssets mfCusIntangibleAssets){

    }
    @ApiOperation("新增裁判文书信息")
    @PostMapping("mfCusJudgment")
    public void receiveMfCusJudgment( @RequestBody MfCusJudgment mfCusJudgment){
    }

    @ApiOperation("新增员工信息")
    @PostMapping("mfCusStaff")
    public void receiveMfCusStaff( @RequestBody MfCusStaff mfCusStaff){

    }

    @ApiOperation("限制高消费")
    @PostMapping("mfCusLimitHighConsumption")
    public void receiveMfCusLimitHighConsumption( @RequestBody MfCusLimitHighConsumption mfCusLimitHighConsumption){

    }

    @ApiOperation("新增上市信息")
    @PostMapping("mfCusListedInfo")
    public void receiveMfCusListedInfo( @RequestBody MfCusListedInfo mfCusListedInfo){

    }

    @ApiOperation("新增关联企业")
    @PostMapping("mfCusMeManage")
    public void receiveMfCusMeManage( @RequestBody MfCusMeManage mfCusMeManage){

    }
    @ApiOperation("个人用户信息")
    @PostMapping("mfCusPersBaseInfo")
    public void receiveMfCusPersBaseInfo( @RequestBody MfCusPersBaseInfo mfCusPersBaseInfo){

    }
    @ApiOperation("个人客户资产信息")
    @PostMapping("mfCusPersonAssetsInfo")
    public void receiveMfCusPersonAssetsInfo( @RequestBody MfCusPersonAssetsInfo mfCusPersonAssetsInfo){

    }
    @ApiOperation("个人名下企业信息")
    @PostMapping("mfCusPersonCorp")
    public void receiveMfCusPersonCorp( @RequestBody MfCusPersonCorp mfCusPersonCorp){

    }
    @ApiOperation("个人客户负债信息")
    @PostMapping("mfCusPersonDebtInfo")
    public void receiveMfCusPersonDebtInfo( @RequestBody MfCusPersonDebtInfo mfCusPersonDebtInfo){

    }

    @ApiOperation("新增股权质押信息")
    @PostMapping("mfCusSharePledge")
    public void receiveMfCusSharePledge( @RequestBody MfCusSharePledge mfCusSharePledge){

    }

    @ApiOperation("股东信息")
    @PostMapping("mfCusShareholder")
    public void receiveMfCusShareholder( @RequestBody MfCusShareholder mfCusShareholder){

    }
    @ApiOperation("股权冻结")
    @PostMapping("mfCusStockFreeze")
    public void receiveMfCusStockFreeze( @RequestBody MfCusStockFreeze mfCusStockFreeze){

    }
    @ApiOperation("工商信息")
    @PostMapping("businessInfoBaseBO")
    public void receiveBusinessInfoBaseBO( @RequestBody BusinessInfoBaseBO businessInfoBaseBO){

    }
    @ApiOperation("法人信息")
    @PostMapping("legalPersonBO")
    public void receiveLegalPersonBO( @RequestBody LegalPersonBO legalPersonBO){

    }
    @ApiOperation("企业基本信息")
    @PostMapping("mfCusCorpBaseInfoBO")
    public void receiveMfCusCorpBaseInfoBO( @RequestBody MfCusCorpBaseInfoBO mfCusCorpBaseInfoBO){

    }
    @ApiOperation("高管子项信息")
    @PostMapping("mfCusHighChildInfoBO")
    public void receiveMfCusHighChildInfoBO( @RequestBody MfCusHighChildInfoBO mfCusHighChildInfoBO){

    }
    @ApiOperation("高管信息")
    @PostMapping("mfCusHighInfoBO")
    public void receiveMfCusHighInfoBO( @RequestBody MfCusHighInfoBO mfCusHighInfoBO){

    }
    @ApiOperation("股东信息")
    @PostMapping("mfCusShareholderBO")
    public void receiveMfCusShareholderBO( @RequestBody MfCusShareholderBO mfCusShareholderBO){

    }

    public static String toLowerCaseFirstOne(String s){
        if(Character.isLowerCase(s.charAt(0))) {
            return s;
        } else {
            return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
        }
    }
    public static void main(String[] args) {

        String []a = {"MfCusAdministrativeSanction","MfCusBuildQualification ","MfCusCorpBaseInfo ","MfCusCorpLoan ","MfCusCorpMajorChange ","MfCusCourtInfo","MfCusCourtNotice","MfCusCustomer","MfCusDishonestInfo","MfCusEquityInfo","MfCusExecNotice","MfCusFamilyInfo","MfCusGroup","MfCusGuaranteeOuter","MfCusHighInfo","MfCusIntangibleAssets","MfCusJudgment","MfCusLimitHighConsumption","MfCusListedInfo","MfCusMeManage","MfCusPersBaseInfo","MfCusPersonAssetsInfo","MfCusPersonCorp","MfCusPersonDebtInfo","MfCusSharePledge","MfCusShareholder","MfCusStockFreeze"};
//        String []a={"BusinessInfoBaseBO","LegalPersonBO","MfCusCorpBaseInfoBO","MfCusHighChildInfoBO","MfCusHighInfoBO","MfCusShareholderBO"};
        for (String s : a) {
            System.out.println( "@PostMapping(\""+toLowerCaseFirstOne(s)+"\")");
            System.out.println("public void receive"+s+"( @RequestBody "+s+" "+toLowerCaseFirstOne(s)+"){");
            System.out.println();
            System.out.println("}");

        }
    }
}
